package com.ht.right.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.ht.common.entity.PageInfo;

public interface CommonService<T> {

	public List<T> loadAllList(String entityClsName);


	// 获取所有条数
	public int getAllDataCount(String entityClsName, String docIds);

	// 加载带权限分页后的列表
	/**
	 * @describe : 得到权限过滤后的分页数据
	 * @author pangchengxiang
	 * @param entityClsName
	 *            : 实体类名称
	 * @param pageInfo
	 *            ： 分页对象
	 * @param orgIds
	 *            ： 的文档id字符串，如 :
	 *            '402881ed528ca3bd01528ca443fc0000','402881ed528ca3bd01528ca443fc0001
	 *            '
	 * @return
	 */
	public List<T> getPageDataList(String entityClsName, PageInfo pageInfo, String docIds);
	public Serializable save(T o);

	public void delete(T o);

	public void deleteId(String model, String attr, String param); 
	
	public void update(T o);

	public void saveOrUpdate(T o);
	
	public T get(Class<T> c, Serializable id);
	
	public T getEntityByID(String entityClsName, String uuid);

	public List<Map<String, String>> dataList(List<T> objList, Set<String> fieldSet);


	
	
	
}
